package com.wfh.mianshiji.service;

import com.wfh.mianshiji.model.dto.interview.InterviewCreateRequest;
import com.wfh.mianshiji.model.dto.interview.InterviewStopRequest;
import com.wfh.mianshiji.model.entity.Interview;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wfh.mianshiji.model.vo.InterviewVo;
import jakarta.servlet.http.HttpServletRequest;
import reactor.core.publisher.Flux;

/**
* @author fenghuanwang
* @description 针对表【interview(面试表)】的数据库操作Service
* @createDate 2025-10-30 15:36:18
*/
public interface InterviewService extends IService<Interview> {

    /**
     * 开始面试
     *
     * @param userId
     * @param interviewId
     * @param message
     * @param request
     * @return
     */
    Flux<String> start(Long userId, Long interviewId, String message, HttpServletRequest request);

    /**
     * 创建面试
     *
     * @param interviewCreateRequest
     * @return
     */
    InterviewVo create(InterviewCreateRequest interviewCreateRequest);

    /**
     * 停止面试
     *
     * @param interviewStopRequest
     * @return
     */
    Boolean stop(InterviewStopRequest interviewStopRequest);
}
